When all the elements in a Set are values from the same enum, the Set can be replaced with an EnumSet, which can be much more efficient than other
sets because the underlying data structure is a simple bitmap.
Noncompliant code example
public class MyClass {
public enum COLOR {
RED, GREEN, BLUE, ORANGE;
}
public void doSomething() {
Set<COLOR> warm = new HashSet<COLOR>();
warm.add(COLOR.RED);
warm.add(COLOR.ORANGE);
}
}
Compliant solution
public class MyClass {
public enum COLOR {
RED, GREEN, BLUE, ORANGE;
}
public void doSomething() {
Set<COLOR> warm = EnumSet.of(COLOR.RED, COLOR.ORANGE);
}
}